媒体查询
媒体查询是 CSS3 中引入的一项新技术,它可以根据不同的可视窗口大小显示不同的布局。可视窗口是用户在网页上的可见区域,根据访问网站的设备不同而不同。
媒体查询由媒体类型组成,如果媒体类型与展示网页的设备类型匹配,则应用对应的样式。你可以在媒体查询中用上你想用的选择器和样式。
下面是一个媒体查询的例子,当设备宽度小于或等于 100px 时返回内容:
1 | @media (max-width: 100px) { /* CSS Rules */ } |
图片自适应
用 CSS 来让图片自适应其实很简单。不要使用绝对单位:
1 | img { width: 720px; } |
你应该使用:
1 | img { |
max-width
属性能让图片以 100% 的最大宽度适应其父容器的宽度,但图片不会拉伸得比原始宽度还宽。将 display
属性设置为 block
可以让 <image>
标签从内联元素(默认值)更改为块级元素。设置 height
属性为 auto
保持图片的原始宽高比。
针对高分辨率屏幕应使用视网膜图片
为优化图片在高分辨率设备下的显示效果,最简单的方式是定义它们的 width 和 height 值为源文件宽高的一半。
这是一个图片宽高设置为源文件一半的例子:
1 | <style> |
使排版根据设备尺寸自如响应
除了用 em 或 px 去设置文本大小, 你还可以用视窗单位来做响应式排版。视窗单位还有百分比,它们都是相对单位,但却基于不同的参照物。视窗单位相对于设备的视窗尺寸 (宽度或高度) ,百分比是相对于父级元素的大小。
四个不同的视窗单位分别是:
- vw:如
10vw
的意思是视窗宽度的 10%。 - vh: 如
3vh
的意思是视窗高度的 3%。 - vmin: 如
70vmin
的意思是视窗中较小尺寸的 70% (高度 VS 宽度)。 - vmax: 如
100vmax
的意思是视窗中较大尺寸的 100% (高度 VS 宽度)。